package com.qqtech.qquan.hi.enums;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public enum HiRuleGroupTypeDictEnum {
	/**
	 * 其他任务
	 */
	OTHER(1, "其他任务"),
	/**
	 * 社区任务
	 */
	COMMUNITY(2, "社区任务"),
	/**
	 * 圈子任务
	 */
	CIRCLE(3, "圈子任务"),
	/**
	 * 商城任务
	 */
	MALL(4, "商城任务");

	int code;
	String desc;

	private HiRuleGroupTypeDictEnum(int code, String desc) {
		this.code = code;
		this.desc = desc;
	}

	public int getCode() {
		return code;
	}

	public void setCode(int code) {
		this.code = code;
	}

	public String getDesc() {
		return desc;
	}

	public void setDesc(String desc) {
		this.desc = desc;
	}

	public static String getDesc(Integer code) {
		HiRuleGroupTypeDictEnum statusEnum = getInstance(code);
		if (statusEnum != null) {
			return statusEnum.getDesc();
		}
		return "";
	}

	public static HiRuleGroupTypeDictEnum getInstance(Integer code) {
		if (code != null) {
			for (HiRuleGroupTypeDictEnum statusEnum : HiRuleGroupTypeDictEnum.values()) {
				if (code.equals(statusEnum.getCode())) {
					return statusEnum;
				}
			}
		}
		return null;
	}

	public static List<Map<String, Object>> getList() {
		HiRuleGroupTypeDictEnum[] arrEnum = HiRuleGroupTypeDictEnum.values();
		List<Map<String, Object>> list = new ArrayList<Map<String, Object>>(arrEnum.length);
		for (HiRuleGroupTypeDictEnum e : arrEnum) {
			Map<String, Object> map = new HashMap<String, Object>();
			map.put("name", e.name());
			map.put("code", e.code);
			map.put("desc", e.desc);
			list.add(map);
		}
		return list;
	}
}
